Agency task: Agency decisions
Model: Agency decisions by VoC
## Mixed Model Anova Table (Type 3 tests, LRT-method)
##
## Model: stage_1_choice ~ age_z * voc_z * condition_trial + (voc_z * condition_trial ||
## Model: subject_id)
## Data: agency_model_data
## Df full model: 12
## Effect df Chisq p.value
## 1 age_z 1 0.04 .840
## 2 voc_z 1 168.42 *** <.001
## 3 condition_trial 1 1.52 .217
## 4 age_z:voc_z 1 10.92 *** <.001
## 5 age_z:condition_trial 1 0.14 .712
## 6 voc_z:condition_trial 1 48.77 *** <.001
## 7 age_z:voc_z:condition_trial 1 5.31 * .021
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '+' 0.1 ' ' 1
## Generalized linear mixed model fit by maximum likelihood (Laplace
## Approximation) [glmerMod]
## Family: binomial ( logit )
## Formula: stage_1_choice ~ age_z * voc_z * condition_trial + (1 + re1.voc_z +
## re1.condition_trial + re1.voc_z_by_condition_trial || subject_id)
## Data: data
## Control: glmerControl(optimizer = "bobyqa", optCtrl = list(maxfun = 1e+06))
##
## AIC BIC logLik deviance df.resid
## 38178.8 38282.6 -19077.4 38154.8 42082
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -28.0229 -0.4794 0.2265 0.5457 26.6942
##
## Random effects:
## Groups Name Variance Std.Dev.
## subject_id (Intercept) 2.29016 1.5133
## subject_id.1 re1.voc_z 0.48884 0.6992
## subject_id.2 re1.condition_trial 0.64461 0.8029
## subject_id.3 re1.voc_z_by_condition_trial 0.05051 0.2247
## Number of obs: 42094, groups: subject_id, 135
##
## Fixed effects:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 0.94898 0.13154 7.214 5.42e-13 ***
## age_z -0.02665 0.13149 -0.203 0.839393
## voc_z 1.15265 0.06284 18.343 < 2e-16 ***
## condition_trial -0.08828 0.07109 -1.242 0.214347
## age_z:voc_z 0.21148 0.06282 3.366 0.000762 ***
## age_z:condition_trial -0.02626 0.07109 -0.369 0.711856
## voc_z:condition_trial 0.19899 0.02570 7.744 9.63e-15 ***
## age_z:voc_z:condition_trial 0.05987 0.02574 2.326 0.020032 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) age_z voc_z cndtn_ ag_z:v_ ag_z:c_ vc_z:_
## age_z 0.001
## voc_z 0.010 0.001
## conditn_trl 0.006 -0.002 0.002
## age_z:voc_z 0.001 0.009 0.007 0.000
## ag_z:cndtn_ -0.003 0.002 0.000 -0.001 0.001
## vc_z:cndtn_ 0.003 0.000 0.029 0.030 -0.001 0.004
## ag_z:vc_z:_ 0.000 0.001 0.001 0.004 0.023 0.030 0.024
Plot: Sensitivity to the value of choice

Plot: Sensitivity to value of choice with continuous age


Summary stats: Sensitivity to value of control
Agency task: Machine selection
Model: Optimal machine choices across trials by condition and
age
## Mixed Model Anova Table (Type 3 tests, LRT-method)
##
## Model: stage_2_acc ~ age_z * context * condition_trial + (context *
## Model: condition_trial || subject_id)
## Data: machine_model_data
## Df full model: 12
## Effect df Chisq p.value
## 1 age_z 1 18.88 *** <.001
## 2 context 1 25.05 *** <.001
## 3 condition_trial 1 66.49 *** <.001
## 4 age_z:context 1 0.26 .612
## 5 age_z:condition_trial 1 1.22 .268
## 6 context:condition_trial 1 3.44 + .064
## 7 age_z:context:condition_trial 1 1.99 .159
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '+' 0.1 ' ' 1
## Generalized linear mixed model fit by maximum likelihood (Laplace
## Approximation) [glmerMod]
## Family: binomial ( logit )
## Formula: stage_2_acc ~ age_z * context * condition_trial + (1 + re1.context1 +
## re1.condition_trial + re1.context1_by_condition_trial || subject_id)
## Data: data
## Control: glmerControl(optimizer = "bobyqa", optCtrl = list(maxfun = 1e+06))
##
## AIC BIC logLik deviance df.resid
## 13066.7 13160.8 -6521.4 13042.7 18640
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -11.0512 0.0954 0.2009 0.3937 2.4327
##
## Random effects:
## Groups Name Variance Std.Dev.
## subject_id (Intercept) 1.7436 1.3205
## subject_id.1 re1.context1 0.5702 0.7551
## subject_id.2 re1.condition_trial 0.3025 0.5500
## subject_id.3 re1.context1_by_condition_trial 0.1182 0.3439
## Number of obs: 18652, groups: subject_id, 135
##
## Fixed effects:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) 2.32963 0.12060 19.317 < 2e-16 ***
## age_z 0.53498 0.11947 4.478 7.54e-06 ***
## context1 0.38956 0.07338 5.309 1.10e-07 ***
## condition_trial 0.52529 0.05755 9.128 < 2e-16 ***
## age_z:context1 -0.03839 0.07341 -0.523 0.6010
## age_z:condition_trial 0.06404 0.05722 1.119 0.2631
## context1:condition_trial 0.08002 0.04225 1.894 0.0582 .
## age_z:context1:condition_trial -0.06096 0.04231 -1.441 0.1497
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) age_z cntxt1 cndtn_ ag_z:1 ag_z:_ cnt1:_
## age_z 0.049
## context1 0.032 0.007
## conditn_trl 0.080 0.016 0.027
## ag_z:cntxt1 0.004 0.023 0.073 -0.001
## ag_z:cndtn_ 0.011 0.065 -0.001 0.089 0.020
## cntxt1:cnd_ 0.023 0.001 0.113 0.070 0.024 0.012
## ag_z:cnt1:_ -0.003 0.016 0.022 0.011 0.116 0.062 0.135
Plot: Proportion optimal machine selections across age groups and
trials

Explicit reward knowledge task
Explicit reward knowledge task: summary stats
Model: Explicit reward knowledge by age and true probabilities
## Mixed Model Anova Table (Type 3 tests, S-method)
##
## Model: error ~ zTrueProb * zAge + (1 | subject_id)
## Data: explicitKnow.filtered
## Effect df F p.value
## 1 zTrueProb 1, 673.00 22.78 *** <.001
## 2 zAge 1, 133.00 7.01 ** .009
## 3 zTrueProb:zAge 1, 673.00 0.26 .609
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '+' 0.1 ' ' 1
## Linear mixed model fit by REML. t-tests use Satterthwaite's method [
## lmerModLmerTest]
## Formula: error ~ zTrueProb * zAge + (1 | subject_id)
## Data: data
##
## REML criterion at convergence: 2763.4
##
## Scaled residuals:
## Min 1Q Median 3Q Max
## -1.5472 -0.7030 -0.1787 0.4401 4.2139
##
## Random effects:
## Groups Name Variance Std.Dev.
## subject_id (Intercept) 0.1176 0.3429
## Residual 1.6465 1.2831
## Number of obs: 810, groups: subject_id, 135
##
## Fixed effects:
## Estimate Std. Error df t value Pr(>|t|)
## (Intercept) 1.56296 0.05389 133.00000 29.005 < 2e-16 ***
## zTrueProb -0.21530 0.04511 673.00000 -4.772 2.23e-06 ***
## zAge -0.14272 0.05392 133.00000 -2.647 0.00911 **
## zTrueProb:zAge -0.02307 0.04514 673.00000 -0.511 0.60947
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Correlation of Fixed Effects:
## (Intr) zTrPrb zAge
## zTrueProb 0.000
## zAge 0.000 0.000
## zTruPrb:zAg 0.000 0.000 0.000
Plot: Explicit reward knowledge

LS0tCnRpdGxlOiAiRTIgVm9DIEFuYWx5c2VzIFBhcnQgMjogUmVncmVzc2lvbiBBbmFseXNlcyIKZGF0ZTogMS84LzI0Cm91dHB1dDoKICAgIGh0bWxfZG9jdW1lbnQ6CiAgICAgICAgZGZfcHJpbnQ6ICdwYWdlZCcKICAgICAgICB0b2M6IHRydWUKICAgICAgICB0b2NfZmxvYXQ6CiAgICAgICAgICAgIGNvbGxhcHNlZDogZmFsc2UKICAgICAgICAgICAgc21vb3RoX3Njcm9sbDogdHJ1ZQogICAgICAgIG51bWJlcl9zZWN0aW9uczogZmFsc2UKICAgICAgICBjb2RlX2Rvd25sb2FkOiB0cnVlCiAgICAgICAgc2VsZl9jb250YWluZWQ6IHRydWUKLS0tCgpgYGB7ciBjaHVuayBzZXR0aW5ncywgaW5jbHVkZSA9IEZBTFNFfQojIHNldCBjaHVuayBzZXR0aW5ncwprbml0cjo6b3B0c19jaHVuayRzZXQoZWNobyA9IEZBTFNFLCAKICAgICAgICAgICAgICAgICAgICAgIGNhY2hlID0gVFJVRSwKICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSBGQUxTRSwKICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmcgPSBGQUxTRSkKa25pdHI6Om9wdHNfY2h1bmskc2V0KGRwaT02MDApCmtuaXRyOjpvcHRzX2tuaXQkc2V0KHJvb3QuZGlyID0gcnByb2pyb290OjpmaW5kX3JzdHVkaW9fcm9vdF9maWxlKCkpCmBgYAoKYGBge3IgbG9hZCBsaWJyYXJpZXMsIGluY2x1ZGUgPSBGfQoKI2xvYWQgbGlicmFyaWVzCmxpYnJhcnkodGlkeXZlcnNlKQpsaWJyYXJ5KGdsdWUpCmxpYnJhcnkoYWZleCkKCiNsb2FkIHNjcmlwdHMKc291cmNlKCdhbmFseXNpc19zY3JpcHRzL3ZvY19mdW5jdGlvbnMuUicpCmBgYAoKYGBge3IgaW1wb3J0IGRhdGF9CgojIHJlYWQgaW4gbGVhcm5pbmcgZGF0YQpsZWFybmluZ19kYXRhIDwtIHJlYWRfY3N2KCdkYXRhL3Byb2Nlc3NlZC9sZWFybmluZ19kYXRhLmNzdicpCgojIHJlYWQgaW4gcGFydGljaXBhbnQgYWdlcwpwYXJ0aWNpcGFudF9hZ2VzIDwtIHJlYWRfY3N2KCdkYXRhL3ZvY19zdWJfaW5mby5jc3YnKSAKCiMgam9pbgpsZWFybmluZ19kYXRhIDwtIGlubmVyX2pvaW4obGVhcm5pbmdfZGF0YSwgcGFydGljaXBhbnRfYWdlcywgYnkgPSBjKCdzdWJqZWN0X2lkJykpICU+JQogIG11dGF0ZShhZ2VfZ3JvdXAgPSBjYXNlX3doZW4oYWdlIDwgMTMgfiAnQ2hpbGRyZW4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWdlIDwgMTggJiBhZ2UgPiAxMi45OSB+ICdBZG9sZXNjZW50cycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZ2UgPiAxOCB+ICdBZHVsdHMnKSkKCmxlYXJuaW5nX2RhdGEkYWdlX2dyb3VwIDwtIGZhY3RvcihsZWFybmluZ19kYXRhJGFnZV9ncm91cCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldmVscyA9IGMoIkNoaWxkcmVuIiwgIkFkb2xlc2NlbnRzIiwgIkFkdWx0cyIpKQoKYGBgCgpgYGB7ciBwcm9jZXNzIGxlYXJuaW5nIGRhdGF9CmxlYXJuaW5nX2RhdGEgPC0gbGVhcm5pbmdfZGF0YSAlPiUKICBtdXRhdGUoZXZfY2hvaWNlID0gY2FzZV93aGVuKGNvbnRleHQgPT0gMCB+IDksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0ID09IDEgfiA3LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dCA9PSAyIH4gNSksCiAgICAgICAgIGV2X2NvbXAgPSA1ICsgb2ZmZXIsCiAgICAgICAgIHZvYyA9IGV2X2Nob2ljZSAtIGV2X2NvbXAsCiAgICAgICAgIGJldHRlcl9tYWNoaW5lID0gY2FzZV93aGVuKHJld2FyZF9wcm9iX0wgPiByZXdhcmRfcHJvYl9SIH4gMSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV3YXJkX3Byb2JfTCA8IHJld2FyZF9wcm9iX1IgfiAwLAogICAgICAgICApLAogICAgICAgICBzdGFnZV8yX2FjYyA9IGNhc2Vfd2hlbihzdGFnZV8yX2Nob2ljZSA9PSBiZXR0ZXJfbWFjaGluZSB+IDEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YWdlXzJfY2hvaWNlICE9IGJldHRlcl9tYWNoaW5lIH4gMCkpICU+JQogIGdyb3VwX2J5KHN1YmplY3RfaWQsIGNvbnRleHQpICU+JQogIG11dGF0ZShjb25kaXRpb25fdHJpYWwgPSByYW5rKHRyaWFsKSwKICAgICAgICAgYmxvY2sgPSBmbG9vcigodHJpYWwtMSkvMjEgKyAxKSkKCiMgZXhjbHVkZSBmaXJzdC1zdGFnZSBtaXNzZXMgYW5kIGZpcnN0LXN0YWdlIFJUIDwgMTUwIG1zCmxlYXJuaW5nX2RhdGFfZmlsdGVyZWQgPC0gbGVhcm5pbmdfZGF0YSAlPiUKICBmaWx0ZXIoc3RhZ2VfMV9ydCA+IDE1MCkKCiNleGNsdWRlIHBhcnRpY2lwYW50cyB3aG8gbWFkZSBtb3JlIHRoYW4gMzAwIG9mIHRoZSBzYW1lIGFnZW5jeSBkZWNpc2lvbnMKc3RhZ2UxX2RlY2lzaW9ucyA8LSBsZWFybmluZ19kYXRhX2ZpbHRlcmVkICU+JQogIGdyb3VwX2J5KHN1YmplY3RfaWQpICU+JQogIHN1bW1hcml6ZShhZ2VuY3lfY2hvaWNlcyA9IHN1bShzdGFnZV8xX2Nob2ljZSA9PSAxKSkgJT4lCiAgZmlsdGVyKGFnZW5jeV9jaG9pY2VzIDwgMjk5KSAlPiUKICBmaWx0ZXIoYWdlbmN5X2Nob2ljZXMgPiAxNSkKCiNleGNsdWRlIGZyb20gbGVhcm5pbmcgZGF0YQpsZWFybmluZ19kYXRhX2ZpbHRlcmVkIDwtIGxlYXJuaW5nX2RhdGFfZmlsdGVyZWQgJT4lCiAgZmlsdGVyKHN1YmplY3RfaWQgJWluJSBzdGFnZTFfZGVjaXNpb25zJHN1YmplY3RfaWQpCgpgYGAKCiMgUGFydGljaXBhbnQgaW5mbwpgYGB7ciBzdWJqZWN0IGluZm9ybWF0aW9ufQpzdWJfaW5mbyA8LSBsZWFybmluZ19kYXRhX2ZpbHRlcmVkICU+JQogIHVuZ3JvdXAoKSAlPiUKICBzZWxlY3Qoc3ViamVjdF9pZCwgYWdlLCBhZ2VfZ3JvdXAsIGdlbmRlcikgJT4lCiAgdW5pcXVlKCkgJT4lCiAgZ3JvdXBfYnkoYWdlX2dyb3VwKSAlPiUKICBzdW1tYXJpemUoTiA9IG4oKSwgCiAgICAgICAgICAgIG1pbl9hZ2UgPSBtaW4oYWdlLCBuYS5ybSA9IFQpLAogICAgICAgICAgICBtYXhfYWdlID0gbWF4KGFnZSwgbmEucm0gPSBUKSwKICAgICAgICAgICAgbWVhbl9hZ2UgPSBtZWFuKGFnZSwgbmEucm0gPSBUKSwKICAgICAgICAgICAgc2RfYWdlID0gc2QoYWdlLCBuYS5ybSA9IFQpLAogICAgICAgICAgICBuX2ZlbWFsZSA9IHN1bShnZW5kZXIgPT0gJ0ZlbWFsZScpLAogICAgICAgICAgICBuX21hbGUgPSBzdW0oZ2VuZGVyID09ICdNYWxlJyksCiAgICAgICAgICAgIG5fb3RoZXIgPSBzdW0oZ2VuZGVyID09ICdPdGhlcicpKQpzdWJfaW5mbwoKYGBgCgoKIyBBZ2VuY3kgdGFzazogQWdlbmN5IGRlY2lzaW9ucyAKIyMgTW9kZWw6IEFnZW5jeSBkZWNpc2lvbnMgYnkgVm9DCmBgYHtyIGFnZW5jeSBtb2RlbH0KIyBzZWxlY3QgcmVsZXZhbnQgdmFyaWFibGVzIAphZ2VuY3lfbW9kZWxfZGF0YSA8LSBsZWFybmluZ19kYXRhX2ZpbHRlcmVkICU+JQogIHNlbGVjdChzdWJqZWN0X2lkLCBzdGFnZV8xX2Nob2ljZSwgdm9jLCBjb25kaXRpb25fdHJpYWwsIGJsb2NrLCB0cmlhbCwgYWdlLCBhZ2VfZ3JvdXApCgojIyBSRUdSRVNTSU9OIE1PREVMICMjCiN6IHNjb3JlIGNvbnRpbnVvdXMgdmFyaWFibGVzCmFnZW5jeV9tb2RlbF9kYXRhJHN1YmplY3RfaWQgPC0gZmFjdG9yKGFnZW5jeV9tb2RlbF9kYXRhJHN1YmplY3RfaWQpCmFnZW5jeV9tb2RlbF9kYXRhJHZvY196IDwtIHNjYWxlX3RoaXMoYWdlbmN5X21vZGVsX2RhdGEkdm9jKQphZ2VuY3lfbW9kZWxfZGF0YSRjb25kaXRpb25fdHJpYWwgPC0gc2NhbGVfdGhpcyhhZ2VuY3lfbW9kZWxfZGF0YSRjb25kaXRpb25fdHJpYWwpCmFnZW5jeV9tb2RlbF9kYXRhJGFnZV96IDwtIHNjYWxlX3RoaXMoYWdlbmN5X21vZGVsX2RhdGEkYWdlKQoKI3J1biBtb2RlbAphZ2VuY3lfbW9kZWwgPC0gbWl4ZWQoc3RhZ2VfMV9jaG9pY2UgfiBhZ2VfeiAqIHZvY196ICogY29uZGl0aW9uX3RyaWFsICsgKHZvY196ICogY29uZGl0aW9uX3RyaWFsIHx8IHN1YmplY3RfaWQpLAogICAgICAgICAgICAgICAgICAgICAgZGF0YSA9IGFnZW5jeV9tb2RlbF9kYXRhLAogICAgICAgICAgICAgICAgICAgICAgZmFtaWx5ID0gImJpbm9taWFsIiwKICAgICAgICAgICAgICAgICAgICAgIG1ldGhvZCA9ICJMUlQiLAogICAgICAgICAgICAgICAgICAgICAgZXhwYW5kX3JlID0gVCwKICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2w9Z2xtZXJDb250cm9sKG9wdGltaXplcj0iYm9ieXFhIiwgb3B0Q3RybD1saXN0KG1heGZ1bj0xZTYpKSkKCiNzaG93IG1vZGVsIHJlc3VsdHMKYWdlbmN5X21vZGVsCnN1bW1hcnkoYWdlbmN5X21vZGVsKQpgYGAKCiMjIFBsb3Q6IFNlbnNpdGl2aXR5IHRvIHRoZSB2YWx1ZSBvZiBjaG9pY2UKYGBge3Igdm9jIHBsb3QsIGZpZy5oZWlnaHQgPSA0LCBmaWcud2lkdGggPSA3LCB1bml0ID0gImluIn0KIyMgUExPVCAjIwphZ2VuY3lfc3ViX21lYW5zIDwtIGFnZW5jeV9tb2RlbF9kYXRhICU+JSAKICBtdXRhdGUodGFza19oYWxmID0gY2FzZV93aGVuKHRyaWFsIDwgMTU4IH4gIkZpcnN0IEhhbGYgb2YgVGFzayIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyaWFsID4gMTU3IH4gIlNlY29uZCBIYWxmIG9mIFRhc2siKSkgJT4lCiAgZ3JvdXBfYnkodGFza19oYWxmLCB2b2MsIHN1YmplY3RfaWQsIGFnZV9ncm91cCkgJT4lCiAgc3VtbWFyaXplKG1lYW5fc3ViX2FnZW5jeSA9IG1lYW4oc3RhZ2VfMV9jaG9pY2UsIG5hLnJtID0gVCkpCgphZ2VuY3lfbWVhbnMgPC0gYWdlbmN5X3N1Yl9tZWFucyAlPiUgCiAgZ3JvdXBfYnkodGFza19oYWxmLCB2b2MsIGFnZV9ncm91cCkgJT4lCiAgc3VtbWFyaXplKG1lYW5fYWdlbmN5ID0gbWVhbihtZWFuX3N1Yl9hZ2VuY3ksIG5hLnJtID0gVCksCiAgICAgICAgICAgIHNlX2FnZW5jeSA9IHNkKG1lYW5fc3ViX2FnZW5jeSAvIHNxcnQobigpKSkpCgphZ2VuY3lfcGxvdCA8LSBnZ3Bsb3QoYWdlbmN5X21lYW5zLCBhZXMoeCA9IHZvYywgeSA9IG1lYW5fYWdlbmN5LCBjb2xvciA9IGFnZV9ncm91cCkpICsKICBmYWNldF93cmFwKH50YXNrX2hhbGYpICsKICBnZW9tX3BvaW50KGFlcyhjb2xvciA9IGFnZV9ncm91cCkpICsgCiAgZ2VvbV9lcnJvcmJhcihhZXMoeW1pbiA9IG1lYW5fYWdlbmN5IC0gc2VfYWdlbmN5LCB5bWF4ID0gbWVhbl9hZ2VuY3kgKyBzZV9hZ2VuY3kpLCB3aWR0aCA9IC4xKSArIAogIGdlb21fbGluZSgpICsKICB2b2NfdGhlbWUoKSArIAogIHNjYWxlX2NvbG9yX21hbnVhbCh2YWx1ZXM9YygiIzg0MzQ3QyIsICIjQjQwNDI0IiwgIiNFQjZEMUUiKSwgbmFtZSA9ICJBZ2UgR3JvdXAiKSArCiAgeGxhYigiVmFsdWUgb2YgQ2hvaWNlIChWb0MpIikgKwogIHlsYWIoIlByb3BvcnRpb24gQWdlbmN5IENob2ljZXMiKSArCiAgZ2VvbV9obGluZSh5aW50ZXJjZXB0ID0gLjUsIGxpbmV0eXBlID0gImRhc2hlZCIpICsKICBnZW9tX3ZsaW5lKHhpbnRlcmNlcHQgPSAwLCBsaW5ldHlwZSA9ICJkYXNoZWQiKQphZ2VuY3lfcGxvdApgYGAKCgojIyBQbG90OiBTZW5zaXRpdml0eSB0byB2YWx1ZSBvZiBjaG9pY2Ugd2l0aCBjb250aW51b3VzIGFnZSAKYGBge3Igdm9jIHBsb3QgY29udGludW91cyBhZ2UsIGZpZy5oZWlnaHQgPSAzLjksIGZpZy53aWR0aCA9IDMsIHVuaXQgPSAiaW4ifQoKI3J1biBtb2RlbCB3aXRob3V0IGFnZSB0byBnZXQgcmFuZG9tIGVmZmVjdHMgZm9yIGVhY2ggcGFydGljaXBhbnQKYWdlbmN5X2dsbWVyIDwtIG1peGVkKHN0YWdlXzFfY2hvaWNlIH4gIHZvY196ICogY29uZGl0aW9uX3RyaWFsICsgKHZvY196ICogY29uZGl0aW9uX3RyaWFsIHwgc3ViamVjdF9pZCksCiAgICAgICAgICAgICAgICAgICAgICBkYXRhID0gYWdlbmN5X21vZGVsX2RhdGEsIAogICAgICAgICAgICAgICAgICAgICAgZmFtaWx5ID0gYmlub21pYWwsIAogICAgICAgICAgICAgICAgICAgICAgbWV0aG9kID0gIkxSVCIsCiAgICAgICAgICAgICAgICAgICAgICBjb250cm9sPWdsbWVyQ29udHJvbChvcHRpbWl6ZXI9ImJvYnlxYSIsb3B0Q3RybD1saXN0KG1heGZ1bj0xZTYpKSwKICAgICAgICAgICAgICAgICAgICAgIHJldHVybiA9ICJtZXJNb2QiKSAKCiNnZXQgZml4ZWQgZWZmZWN0IG9mIHpWb0MKVm9DX2ZpeGVkZWZmIDwtIGFzLmRhdGEuZnJhbWUoY29lZihzdW1tYXJ5KGFnZW5jeV9nbG1lcikpKSRFc3RpbWF0ZVsyXQpWb0NfaW50X2ZpeGVkZWZmIDwtIGFzLmRhdGEuZnJhbWUoY29lZihzdW1tYXJ5KGFnZW5jeV9nbG1lcikpKSRFc3RpbWF0ZVs0XQoKI2dldCByYW5kb20gZWZmZWN0cwpWb0NfZWZmZWN0cyA8LSByYW5lZihhZ2VuY3lfZ2xtZXIpJHN1YmplY3RfaWQgJT4lCiAgICByb3duYW1lc190b19jb2x1bW4odmFyID0gInN1YmplY3RfaWQiKQoKI2NvbWJpbmUgd2l0aCBhZ2UKVm9DX3N1YkVmZmVjdHMgPC0gYWdlbmN5X21vZGVsX2RhdGEgJT4lCiAgICBzZWxlY3Qoc3ViamVjdF9pZCwgYWdlKSAlPiUgCiAgICB1bmlxdWUoKSAlPiUKICAgIGxlZnRfam9pbihWb0NfZWZmZWN0cywgYnkgPSBjKCJzdWJqZWN0X2lkIikpICU+JQogICAgbXV0YXRlKHpWb0NGdWxsID0gdm9jX3ogKyBWb0NfZml4ZWRlZmYsIAogICAgICAgICAgIGludEZ1bGwgPSBgdm9jX3o6Y29uZGl0aW9uX3RyaWFsYCArIFZvQ19pbnRfZml4ZWRlZmYpCgojcGxvdCBhZ2UgYnkgVm9DIGVmZmVjdApWb0NfcGxvdF9jb250aW51b3VzQWdlIDwtIGdncGxvdChWb0Nfc3ViRWZmZWN0cywgYWVzKHggPSBhZ2UsIHkgPSB6Vm9DRnVsbCkpICsKICAgIGdlb21fcG9pbnQoY29sb3IgPSAiI0VCNkQxRSIpICsgCiAgICBnZW9tX3Ntb290aChtZXRob2QgPSAibG0iLCBjb2xvciA9ICIjODQzNDdDIiwgZmlsbCA9ICIjODQzNDdDIikgKwogICAgdm9jX3RoZW1lKCkgKyAKICAgIHhsYWIoIkFnZSIpICsKICAgIHlsYWIoIlZvQyBFZmZlY3QiKSAKVm9DX3Bsb3RfY29udGludW91c0FnZQoKI3Bsb3QgYWdlIGJ5IFZvQyB4IHRyaWFsIGVmZmVjdApWb0NfcGxvdF9jb250aW51b3VzQWdlVHJpYWwgPC0gZ2dwbG90KFZvQ19zdWJFZmZlY3RzLCBhZXMoeCA9IGFnZSwgeSA9IGludEZ1bGwpKSArCiAgICBnZW9tX3BvaW50KGNvbG9yID0gIiNFQjZEMUUiKSArIAogICAgZ2VvbV9zbW9vdGgobWV0aG9kID0gImxtIiwgY29sb3IgPSAiIzg0MzQ3QyIsIGZpbGwgPSAiIzg0MzQ3QyIpICsKICAgIHZvY190aGVtZSgpICsgCiAgICB4bGFiKCJBZ2UiKSArCiAgICB5bGFiKCJWb0MgeCBUcmlhbCBFZmZlY3QiKSAKVm9DX3Bsb3RfY29udGludW91c0FnZVRyaWFsCmBgYAoKCgojIyBTdW1tYXJ5IHN0YXRzOiBTZW5zaXRpdml0eSB0byB2YWx1ZSBvZiBjb250cm9sCmBgYHtyIHZvYyBzdW1tYXJ5IHN0YXRzfQoKIyBXaGF0IHByb3BvcnRpb24gb2YgdHJpYWxzIGRpZCBwYXJ0aWNpcGFudHMgY2hvb3NlIGFnZW5jeSB3aGVuIFZvQyB3YXMgMD8KVm9DX3plcm9fbWVhbnNfc3ViIDwtIGxlYXJuaW5nX2RhdGFfZmlsdGVyZWQgJT4lIAogICAgZmlsdGVyKHZvYyA9PSAwKSAlPiUKICAgIGdyb3VwX2J5KHN1YmplY3RfaWQsIGFnZV9ncm91cCkgJT4lCiAgICBzdW1tYXJpemUobWVhblN1YkFnZW5jeSA9IG1lYW4oc3RhZ2VfMV9jaG9pY2UsIG5hLnJtID0gVCkpCgpWb0NfemVyb19tZWFucyA8LSBWb0NfemVyb19tZWFuc19zdWIgJT4lCiAgdW5ncm91cCgpICU+JQogIHN1bW1hcml6ZShtZWFuQWdlbmN5ID0gbWVhbihtZWFuU3ViQWdlbmN5LCBuYS5ybSA9IFQpLAogICAgICAgICAgICAgIHNlQWdlbmN5ID0gc2QobWVhblN1YkFnZW5jeSAvIHNxcnQobigpKSkpClZvQ196ZXJvX21lYW5zCmBgYAoKCgojIEFnZW5jeSB0YXNrOiBNYWNoaW5lIHNlbGVjdGlvbgojIyBNb2RlbDogT3B0aW1hbCBtYWNoaW5lIGNob2ljZXMgYWNyb3NzIHRyaWFscyBieSBjb25kaXRpb24gYW5kIGFnZQpgYGB7ciBtYWNoaW5lIHNlbGVjdGlvbiBkZWNpc2lvbnN9CiMgc2VsZWN0IHZhcmlhYmxlcyBmb3IgaW5jbHVzaW9uIGluIG1peGVkLWVmZmVjdHMgbW9kZWwgKG5vIGFnZSBmb3Igbm93KQptYWNoaW5lX21vZGVsX2RhdGEgPC0gbGVhcm5pbmdfZGF0YV9maWx0ZXJlZCAlPiUKICBmaWx0ZXIoc3RhZ2VfMV9jaG9pY2UgPT0gMSkgJT4lCiAgZmlsdGVyKGNvbnRleHQgPCAyKSAlPiUKICBzZWxlY3Qoc3ViamVjdF9pZCwgc3RhZ2VfMl9hY2MsIGNvbnRleHQsIGNvbmRpdGlvbl90cmlhbCwgYmxvY2ssIGFnZSwgYWdlX2dyb3VwKSAlPiUKICBkcm9wX25hKCkKCiMjIFJFR1JFU1NJT04gTU9ERUwgIyMKI3ogc2NvcmUgY29udGludW91cyB2YXJpYWJsZXMKbWFjaGluZV9tb2RlbF9kYXRhJHN1YmplY3RfaWQgPC0gZmFjdG9yKG1hY2hpbmVfbW9kZWxfZGF0YSRzdWJqZWN0X2lkKQptYWNoaW5lX21vZGVsX2RhdGEkY29udGV4dCA8LSBmYWN0b3IobWFjaGluZV9tb2RlbF9kYXRhJGNvbnRleHQpCm1hY2hpbmVfbW9kZWxfZGF0YSRjb25kaXRpb25fdHJpYWwgPC0gc2NhbGVfdGhpcyhtYWNoaW5lX21vZGVsX2RhdGEkY29uZGl0aW9uX3RyaWFsKQptYWNoaW5lX21vZGVsX2RhdGEkYWdlX3ogPC0gc2NhbGVfdGhpcyhtYWNoaW5lX21vZGVsX2RhdGEkYWdlKQoKI3J1biBtb2RlbAptYWNoaW5lX21vZGVsIDwtIG1peGVkKHN0YWdlXzJfYWNjIH4gYWdlX3ogKiBjb250ZXh0ICogY29uZGl0aW9uX3RyaWFsICsgKGNvbnRleHQgKiBjb25kaXRpb25fdHJpYWwgfHwgc3ViamVjdF9pZCksCiAgICAgICAgICAgICAgICAgICAgICBkYXRhID0gbWFjaGluZV9tb2RlbF9kYXRhLAogICAgICAgICAgICAgICAgICAgICAgZmFtaWx5ID0gImJpbm9taWFsIiwKICAgICAgICAgICAgICAgICAgICAgIG1ldGhvZCA9ICJMUlQiLAogICAgICAgICAgICAgICAgICAgICAgZXhwYW5kX3JlID0gVCwKICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2w9Z2xtZXJDb250cm9sKG9wdGltaXplcj0iYm9ieXFhIiwgb3B0Q3RybD1saXN0KG1heGZ1bj0xZTYpKSkKCiNzaG93IG1vZGVsIHJlc3VsdHMKbWFjaGluZV9tb2RlbApzdW1tYXJ5KG1hY2hpbmVfbW9kZWwpCmBgYAoKIyMgUGxvdDogUHJvcG9ydGlvbiBvcHRpbWFsIG1hY2hpbmUgc2VsZWN0aW9ucyBhY3Jvc3MgYWdlIGdyb3VwcyBhbmQgdHJpYWxzCmBgYHtyIHBsb3QgYmFuZGl0IGNob2ljZXMgYWNyb3NzIHRyaWFscywgd2lkdGggPSA3LCBoZWlnaHQgPSA0LCB1bml0ID0gImluIn0KCiMjIFBMT1QgIyMKbWFjaGluZV9zZWxlY3Rpb25fc3ViX21lYW5zIDwtIG1hY2hpbmVfbW9kZWxfZGF0YSAlPiUKICBncm91cF9ieShjb250ZXh0LCBibG9jaywgc3ViamVjdF9pZCwgYWdlX2dyb3VwKSAlPiUgCiAgc3VtbWFyaXplKHN1Yl9hY2MgPSBtZWFuKHN0YWdlXzJfYWNjLCBuYS5ybSA9IFQpKQoKbWFjaGluZV9zZWxlY3Rpb25fbWVhbnMgPC0gbWFjaGluZV9zZWxlY3Rpb25fc3ViX21lYW5zICU+JQogIGdyb3VwX2J5KGNvbnRleHQsIGJsb2NrLCBhZ2VfZ3JvdXApICU+JSAKICBzdW1tYXJpemUobWVhbl9hY2MgPSBtZWFuKHN1Yl9hY2MpLAogICAgICAgICAgICBzZSA9IHNkKHN1Yl9hY2MpL3NxcnQobigpKSkKCm1hY2hpbmVfc2VsZWN0aW9uX3Bsb3QgPC0gZ2dwbG90KG1hY2hpbmVfc2VsZWN0aW9uX21lYW5zLCBhZXMoeD1ibG9jaywgeT1tZWFuX2FjYywgY29sb3I9ZmFjdG9yKGNvbnRleHQpKSkgKwogIGZhY2V0X3dyYXAofmFnZV9ncm91cCkgKwogIGdlb21fcG9pbnQoc2l6ZSA9IDMpICsKICBnZW9tX2ppdHRlcihkYXRhID0gbWFjaGluZV9zZWxlY3Rpb25fc3ViX21lYW5zLCAgYWVzKHg9YmxvY2ssIHk9c3ViX2FjYywgY29sb3I9ZmFjdG9yKGNvbnRleHQpKSwgc2l6ZSA9IC41KSArCiAgZ2VvbV9zbW9vdGgobWV0aG9kID0gImxtIiwgYWVzKGZpbGwgPSBmYWN0b3IoY29udGV4dCkpKSArCiAgZ2VvbV9obGluZSh5aW50ZXJjZXB0ID0gLjUsIGxpbmV0eXBlPSJkYXNoZWQiKSArCiAgeWxhYigiUHJvcG9ydGlvbiBPcHRpbWFsIE1hY2hpbmUgU2VsZWN0aW9ucyIpICsKICB4bGFiKCJCbG9jayIpICsKICBzY2FsZV94X2NvbnRpbnVvdXMoYnJlYWtzID0gYyg0LCA4LCAxMikpICsKICBzY2FsZV9maWxsX21hbnVhbChuYW1lPSJDb250ZXh0IiwKICAgICAgICAgICAgICAgICAgICBsYWJlbHM9YygiOTAvMTAiLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICI3MC8zMCIpLAogICAgICAgICAgICAgICAgICAgIHZhbHVlcz1jKGNvbG9yMSwgY29sb3IzKSwgCiAgICAgICAgICAgICAgICAgICAgZ3VpZGUgPSBndWlkZV9sZWdlbmQocmV2ZXJzZT1UUlVFKSkgKwogIHNjYWxlX2NvbG9yX21hbnVhbChuYW1lPSJDb250ZXh0IiwKICAgICAgICAgICAgICAgICAgICAgbGFiZWxzPWMoIjkwLzEwIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIjcwLzMwIiksCiAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz1jKGNvbG9yMSwgY29sb3IzKSwKICAgICAgICAgICAgICAgICAgICAgZ3VpZGUgPSBndWlkZV9sZWdlbmQocmV2ZXJzZT1UUlVFKSkgKwogIHZvY190aGVtZSgpICsKICB0aGVtZShzdHJpcC50ZXh0ID0gZWxlbWVudF90ZXh0KHNpemU9MTIpKQptYWNoaW5lX3NlbGVjdGlvbl9wbG90CmBgYAoKCgojIEV4cGxpY2l0IHJld2FyZCBrbm93bGVkZ2UgdGFzayAKIyMgRXhwbGljaXQgcmV3YXJkIGtub3dsZWRnZSB0YXNrOiBzdW1tYXJ5IHN0YXRzCmBgYHtyIGV4cGxpY2l0IGtub3dsZWRnZSB0YXNrfQoKIyBSZWFkIGluIGRhdGEKZXhwbGljaXRLbm93IDwtIHJlYWRfY3N2KCdkYXRhL3Byb2Nlc3NlZC9leHBsaWNpdF9kYXRhLmNzdicpICU+JQogICAgZmlsdGVyKHN1YmplY3RfaWQgJWluJSBzdGFnZTFfZGVjaXNpb25zJHN1YmplY3RfaWQpCgojY29tYmluZSB3aXRoIGFnZQpleHBsaWNpdEtub3cgPC0gZnVsbF9qb2luKGV4cGxpY2l0S25vdywgcGFydGljaXBhbnRfYWdlcywgYnkgPSBjKCJzdWJqZWN0X2lkIikpIAoKZXhwbGljaXRLbm93ICU+JSAKICBncm91cF9ieShzdWJqZWN0X2lkLCBhZ2UpICU+JSAKICBzdW1tYXJpemUobSA9IG1lYW4oZXJyb3IpKSAlPiUgCiAgdW5ncm91cCgpICU+JSAKICBzdW1tYXJpemUobWVhbkVyciA9IG1lYW4obSwgbmEucm09VCksIHNkID0gc2QobSwgbmEucm0gPSBUKSkKYGBgCgojIyBNb2RlbDogRXhwbGljaXQgcmV3YXJkIGtub3dsZWRnZSBieSBhZ2UgYW5kIHRydWUgcHJvYmFiaWxpdGllcwpgYGB7ciBleHBsaWNpdCBrbm93bGVkZ2UgbW9kZWx9CgojcmUtc2NhbGUgYWdlIGFuZCB6VHJ1ZVByb2IKZXhwbGljaXRLbm93LmZpbHRlcmVkIDwtIGV4cGxpY2l0S25vdyAlPiUKICAgIHNlbGVjdChzdWJqZWN0X2lkLCBhZ2UsIHRydWVfcHJvYiwgZXJyb3IpICU+JQogICAgZHJvcF9uYSgpCgpleHBsaWNpdEtub3cuZmlsdGVyZWQkekFnZSA8LSBzY2FsZShleHBsaWNpdEtub3cuZmlsdGVyZWQkYWdlKQpleHBsaWNpdEtub3cuZmlsdGVyZWQkelRydWVQcm9iIDwtIHNjYWxlKGV4cGxpY2l0S25vdy5maWx0ZXJlZCR0cnVlX3Byb2IpCgojIHJ1biBtb2RlbApleHBsaWNpdEtub3dfZXJyb3JieVRydWVQcm9iQWdlLm1peGVkIDwtIG1peGVkKGVycm9yIH4gelRydWVQcm9iKnpBZ2UgKyAoMXxzdWJqZWN0X2lkKSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YSA9IGV4cGxpY2l0S25vdy5maWx0ZXJlZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRob2QgPSAiUyIpIApleHBsaWNpdEtub3dfZXJyb3JieVRydWVQcm9iQWdlLm1peGVkCnN1bW1hcnkoZXhwbGljaXRLbm93X2Vycm9yYnlUcnVlUHJvYkFnZS5taXhlZCkKYGBgCgojIyBQbG90OiBFeHBsaWNpdCByZXdhcmQga25vd2xlZGdlCmBgYHtyIHBsb3QgZXhwbGljaXQga25vd2xlZGdlfQoKZXhwbGljaXRLbm93IDwtIGV4cGxpY2l0S25vdyAlPiUKICBtdXRhdGUoYWdlX2dyb3VwID0gY2FzZV93aGVuKGFnZSA8IDEzIH4gJ0NoaWxkcmVuJywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFnZSA8IDE4ICYgYWdlID4gMTIuOTkgfiAnQWRvbGVzY2VudHMnLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWdlID4gMTggfiAnQWR1bHRzJykpCgpleHBsaWNpdEtub3ckYWdlX2dyb3VwIDwtIGZhY3RvcihleHBsaWNpdEtub3ckYWdlX2dyb3VwLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV2ZWxzID0gYygiQ2hpbGRyZW4iLCAiQWRvbGVzY2VudHMiLCAiQWR1bHRzIikpCgojIHBsb3QgcmVzcG9uc2UgYnkgYmFuZGl0CmV4cGxpY2l0S25vdyAlPiUKICBkcm9wX25hKCkgJT4lCiAgICBnZ3Bsb3QoLiwgYWVzKHg9ZmFjdG9yKHRydWVfcHJvYiksIHk9cmVzcG9uc2UsIGZpbGw9YWdlX2dyb3VwKSkgKwogICAgZ2VvbV9ib3hwbG90KCkgKwogICAgc2NhbGVfZmlsbF9tYW51YWwodmFsdWVzID0gYyhjb2xvcjEsIGNvbG9yMiwgY29sb3IzKSwgbmFtZSA9ICJBZ2UgR3JvdXAiKSArCiAgICB5bGFiKCJSZXBvcnRlZCBSZXdhcmQgUHJvYmFiaWxpdHkiKSArCiAgICB4bGFiKCJUcnVlIFJld2FyZCBQcm9iYWJpbGl0eSIpICsKICAgIHNjYWxlX3hfZGlzY3JldGUobGFiZWxzID0gYygiMTAlIiwgIjMwJSIsICI1MCUiLCAiNzAlIiwgIjkwJSIpKSArCiAgICBzY2FsZV95X2NvbnRpbnVvdXMoYnJlYWtzID0gYygxLCAyLCAzLCA0LCA1LCA2LCA3LCA4LCA5LCAxMCksIAogICAgICAgICAgICAgICAgICAgICBsYWJlbHMgPSBjKCIxMCUiLCAiMjAlIiwgIjMwJSIsICI0MCUiLCAiNTAlIiwgIjYwJSIsICI3MCUiLCAiODAlIiwgIjkwJSIsICIxMDAlIikpICsKICAgIHZvY190aGVtZSgpCmBgYAo=